package com.zxgj.datadirect.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zxgj.datadirect.entity.DataDirectCatalog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 数据目录Mapper接口（对应《实施清单》“数据目录管理”功能）
 */
@Mapper
public interface DataDirectCatalogMapper extends BaseMapper<DataDirectCatalog> {

    /**
     * 检查目录编码是否已存在（用于增量同步去重）
     * @param catalogCode 目录编码
     * @return 存在标识（1-存在、0-不存在）
     */
    int existsByCatalogCode(@Param("catalogCode") String catalogCode);

    /**
     * 按目录编码更新（用于增量同步）
     * @param catalog 数据目录实体
     * @return 更新条数
     */
    int updateByCatalogCode(DataDirectCatalog catalog);

    /**
     * 分页查询数据目录（支持按机构、数据类型筛选）
     * @param page 分页参数
     * @param orgCode 机构编码（可选）
     * @param dataType 数据类型（可选）
     * @return 分页结果
     */
    Page<DataDirectCatalog> selectCatalogPage(
            Page<DataDirectCatalog> page,
            @Param("orgCode") String orgCode,
            @Param("dataType") Integer dataType
    );
}
